ããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éã«é¢ããå æ¬çã¬ã€ããå ç¢ãªã°ããŒãã«ã¢ããªãæ§ç¯ããããã®ã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ããã¹ããã©ã¯ãã£ã¹ãã»ãã¥ãªãã£ã«ã€ããŠè§£èª¬ããŸãã
ããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®ã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ããã¹ã¿ãŒãã
仿¥ã®çžäºæ¥ç¶ãããããžã¿ã«ç°å¢ã«ãããŠãWebã¢ããªã±ãŒã·ã§ã³ã¯åãªãããŒã¿ååŸãè¶ ããããªããã§ã€ã³ã¿ã©ã¯ãã£ããªäœéšãæäŸããããšããŸããŸãæåŸ ãããŠããŸããããã«ã¯ããŠãŒã¶ãŒçæã³ã³ãã³ããæ©å¯æ å ±ãè€éãªããŒã¿æ§é ã®åãæ±ããå«ãŸããããšããããããŸãããããã®æ©èœãç¹ã«ããŒã«ã«ã¹ãã¬ãŒãžããŠãŒã¶ãŒãæäŸãããã¡ã€ã«ãæ±ãéã®éèŠãªåŽé¢ã¯ãããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éãšã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ãäžå¿ã«å±éãããŸããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããéçºè ã«ãšã£ãŠããããã®ã¡ã«ããºã ã广çã«çè§£ãå®è£ ããããšã¯ãã»ãã¥ãªãã£ããã©ã€ãã·ãŒããããŠã·ãŒã ã¬ã¹ãªãŠãŒã¶ãŒäœéšã®ããã«æãéèŠã§ãã
é²åããããã³ããšã³ãã¹ãã¬ãŒãžã®ç¶æ³
åŸæ¥ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã¯äž»ã«ãªã¢ãŒããµãŒããŒããååŸããæ å ±ã衚瀺ããããšã«éå®ãããŠããŸãããããããææ°ã®Webæè¡ã®åºçŸã«ããããã©ãŠã¶ã®èœåã¯åçã«æ¡å€§ããŸããã仿¥ã®ããã³ããšã³ãã¯ã以äžã®ããšãå¯èœã§ãïŒ
- ããŒã«ã«ã¹ãã¬ãŒãžãã»ãã·ã§ã³ã¹ãã¬ãŒãžãIndexedDBã®ãããªã¡ã«ããºã ã䜿çšããŠãããªãã®éã®ããŒã¿ãããŒã«ã«ã«ä¿åããã
- File APIãéããŠããŠãŒã¶ãŒãããŒã«ã«ãã¡ã€ã«ãã¢ããããŒãããæäœã§ããããã«ããã
- åºç¯ãªããŒã«ã«ã¹ãã¬ãŒãžã掻çšããããšãå€ãããã°ã¬ãã·ããŠã§ãã¢ããªïŒPWAïŒãéããŠããªãã©ã€ã³æ©èœãšåŒ·åããããŠãŒã¶ãŒäœéšãæäŸããã
ãã®å¢å€§ããåã«ã¯ãå¢å€§ãã責任ã䌎ããŸããéçºè ã¯ãã»ãã¥ãªãã£ã®è匱æ§ãé²ãããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãä¿è·ããããã«ãã¢ããªã±ãŒã·ã§ã³ãã¯ã©ã€ã¢ã³ããµã€ãã§ãŠãŒã¶ãŒããŒã¿ãã©ã®ããã«ã¢ã¯ã»ã¹ãä¿åãæäœãããã现å¿ã®æ³šæãæã£ãŠç®¡çããªããã°ãªããŸãããããã§ãããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éãšã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ãäžå¯æ¬ ã«ãªããŸãã
ããã³ããšã³ãã¹ãã¬ãŒãžã®ã¡ã«ããºã ãçè§£ãã
æš©éã«ã€ããŠè©³ãã説æããåã«ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ãããŒã«ã«ã¹ãã¬ãŒãžãšå¯Ÿè©±ããäž»èŠãªæ¹æ³ãææ¡ããããšãäžå¯æ¬ ã§ãïŒ
1. Web Storage APIïŒããŒã«ã«ã¹ãã¬ãŒãžïŒã»ãã·ã§ã³ã¹ãã¬ãŒãžïŒ
Web Storage APIã¯ãã·ã³ãã«ãªããŒãšå€ã®ãã¢ã«ããã¹ãã¬ãŒãžã¡ã«ããºã ãæäŸããŸããããŒã«ã«ã¹ãã¬ãŒãžã¯ãã©ãŠã¶ãŠã£ã³ããŠãéããŠãããŒã¿ãä¿æããŸãããã»ãã·ã§ã³ã¹ãã¬ãŒãžã®ããŒã¿ã¯ã»ãã·ã§ã³ãçµäºãããšã¯ãªã¢ãããŸãã
- ããŒã¿åïŒ æååã®ã¿ãä¿åããŸããè€éãªããŒã¿åã¯ã·ãªã¢ã©ã€ãºïŒäŸïŒ
JSON.stringify()ã䜿çšïŒããã³ãã·ãªã¢ã©ã€ãºïŒäŸïŒJSON.parse()ã䜿çšïŒããå¿ èŠããããŸãã - ã¹ã³ãŒãïŒ ãªãªãžã³ã«çŽã¥ããããŠããŸããããŒã¿ã¯åããªãªãžã³ïŒãããã³ã«ããã¡ã€ã³ãããŒãïŒããã®ã¹ã¯ãªããããã®ã¿ã¢ã¯ã»ã¹å¯èœã§ãã
- 容éïŒ éåžžããã©ãŠã¶ã«ãã£ãŠç°ãªããŸããããªãªãžã³ãããçŽ5ã10 MBã§ãã
- æš©éã¢ãã«ïŒ æé»çã§ããåããªãªãžã³ããã®ãã¹ãŠã®ã¹ã¯ãªããã«ã¢ã¯ã»ã¹ãèš±å¯ãããŸãããã®åºæ¬çãªã¹ãã¬ãŒãžã«å¯ŸããŠãŠãŒã¶ãŒã«æç€ºçãªèš±å¯ãæ±ããããã³ããã¯ãããŸããã
2. IndexedDB
IndexedDBã¯ããã¡ã€ã«ãããããå«ã倧éã®æ§é åããŒã¿ãã¯ã©ã€ã¢ã³ããµã€ãã§ä¿åããããã®äœã¬ãã«APIã§ããWeb Storageãããå ç¢ãªã¯ãšãªæ©èœãæäŸãããã©ã³ã¶ã¯ã·ã§ã³ããŒã¿ããŒã¹ã·ã¹ãã ã§ãã
- ããŒã¿åïŒ JavaScriptãªããžã§ã¯ãããã€ããªããŒã¿ïŒBlobãªã©ïŒãããã«ã¯ãã¡ã€ã«ãªã©ãããŸããŸãªããŒã¿åãä¿åã§ããŸãã
- ã¹ã³ãŒãïŒ Web Storageãšåæ§ã«ããªãªãžã³ã«çŽã¥ããããŠããŸãã
- 容éïŒ Web Storageãããå€§å¹ ã«å€§ãããå€ãã®å Žåãå©çšå¯èœãªãã£ã¹ã¯ã¹ããŒã¹ã倧éããŒã¿ã«å¯ŸãããŠãŒã¶ãŒããã³ããã«ãã£ãŠå¶éãããŸãã
- æš©éã¢ãã«ïŒ åããªãªãžã³å ã§ã®åºæ¬çãªèªã¿æžãæäœã¯æé»çã§ãããã ããã¢ããªã±ãŒã·ã§ã³ãç°åžžã«å€§éã®ããŒã¿ãä¿åããããšãããšããã©ãŠã¶ããŠãŒã¶ãŒã«ããã³ããã衚瀺ããããšããããŸãã
3. File API
File APIã䜿çšãããšãWebã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒãæç€ºçã«ãã¡ã€ã«ãéžæããå ŽåïŒäŸïŒèŠçŽ ãä»ããŠïŒãŸãã¯ããŒãžäžã«ãã©ãã°ïŒããããããå Žåã«ããŠãŒã¶ãŒã®ããŒã«ã«ãã¡ã€ã«ã·ã¹ãã ã®å
容ã«ããã°ã©ã ã§ã¢ã¯ã»ã¹ã§ããŸãã
- ãŠãŒã¶ãŒã®åæïŒ ãããéèŠãªãã€ã³ãã§ãããã©ãŠã¶ã¯ããã¡ã€ã«ã·ã¹ãã ãžã®çŽæ¥çãã€ä»»æã®ã¢ã¯ã»ã¹ã決ããŠèš±å¯ããŸããããŠãŒã¶ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãšå ±æããããã¡ã€ã«ãç©æ¥µçã«éžæããå¿ èŠããããŸãã
- ã»ãã¥ãªãã£ïŒ ãã¡ã€ã«ãéžæããããšãã¢ããªã±ãŒã·ã§ã³ã¯éžæããããã¡ã€ã«ã衚ã
FileãŸãã¯FileListãªããžã§ã¯ããåãåããŸãããŠãŒã¶ãŒã®ã·ã¹ãã äžã®å®éã®ãã¡ã€ã«ãã¹ãžã®ã¢ã¯ã»ã¹ã¯ãã»ãã¥ãªãã£äžã®çç±ããå¶éãããŠããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãã¡ã€ã«ã®å 容ãèªã¿åãããšã¯ã§ããŸããããŠãŒã¶ãŒã®éžæç¯å²å€ã®ãã¡ã€ã«ãä»»æã«å€æŽãŸãã¯åé€ããããšã¯ã§ããŸããã
4. Service Workerãšãã£ãã·ã³ã°
PWAã®äž»èŠã³ã³ããŒãã³ãã§ããService Workerã¯ããããã¯ãŒã¯ãªã¯ãšã¹ããååãããã£ãã·ã¥ã管çã§ããŸããçŽæ¥çãªãã¡ã€ã«ã·ã¹ãã ã¢ã¯ã»ã¹ã§ã¯ãããŸãããããªãã©ã€ã³æ©èœãæå¹ã«ããããã«ã¢ã»ãããããŒã¿ãããŒã«ã«ã«ä¿åããŸãã
- ã¹ã³ãŒãïŒ Service Workerã®ç»é²ã¹ã³ãŒãã«çŽã¥ããããŠããŸãã
- æš©éã¢ãã«ïŒ æé»çã§ããService Workerãã€ã³ã¹ããŒã«ããã¢ã¯ãã£ãã«ãªããšããã£ãã·ã¥ãããåã¢ã»ããã«å¯ŸããŠæç€ºçãªãŠãŒã¶ãŒããã³ãããªãã§ãã£ãã·ã¥ã管çã§ããŸãã
ããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éïŒãã©ãŠã¶ã®åœ¹å²
ããã³ããšã³ãããã®ãã¡ã€ã«ã·ã¹ãã ã¢ã¯ã»ã¹ã«å¯ŸããŠã¯ããã©ãŠã¶èªäœãäž»èŠãªã²ãŒãããŒããŒãšããŠæ©èœããããšãæç¢ºã«ããããšãéèŠã§ããç¹å®ã®ãŠãŒã¶ãŒã¬ãã«ãŸãã¯ã·ã¹ãã ã¬ãã«ã®æš©éãä»äžã§ãããµãŒããŒãµã€ãã¢ããªã±ãŒã·ã§ã³ãšã¯ç°ãªããããã³ããšã³ãã®JavaScriptã¯ãµã³ãããã¯ã¹åãããç°å¢ã§åäœããŸãã
åºæ¬çãªååã¯ãã»ãã¥ãªãã£äžã®çç±ããããã©ãŠã¶ã§å®è¡ãããJavaScriptã¯ãŠãŒã¶ãŒã®ããŒã«ã«ãã¡ã€ã«ã·ã¹ãã äžã®ä»»æã®ãã¡ã€ã«ã«çŽæ¥ã¢ã¯ã»ã¹ãããæäœãããã§ããªããšããããšã§ãã ããã¯ãæªæã®ãããŠã§ããµã€ããããŒã¿ãçãã ãããã«ãŠã§ã¢ãã€ã³ã¹ããŒã«ããããã·ã¹ãã ãç Žå£ãããããã®ãé²ãããã®éèŠãªã»ãã¥ãªãã£å¢çã§ãã
代ããã«ãã¢ã¯ã»ã¹ã¯ç¹å®ã®ãã©ãŠã¶APIãä»ããŠä»²ä»ãããæç€ºçãªãŠãŒã¶ãŒã®æäœãå¿ èŠã§ãïŒ
- ãã¡ã€ã«ã«å¯ŸãããŠãŒã¶ãŒå ¥åïŒ File APIã§è¿°ã¹ãããã«ããŠãŒã¶ãŒã¯å ¥åèŠçŽ ãŸãã¯ãã©ãã°ïŒãããããä»ããŠãã¡ã€ã«ãç©æ¥µçã«éžæããå¿ èŠããããŸãã
- ã¹ãã¬ãŒãžã«å¯Ÿãããã©ãŠã¶ããã³ããïŒ åããªãªãžã³å ã§ã®åºæ¬çãªWeb Storageããã³IndexedDBãžã®ã¢ã¯ã»ã¹ã¯äžè¬çã«æé»çã§ããããã©ãŠã¶ã¯ã倧éã®ã¹ãã¬ãŒãžå²ãåœãŠãèŠæ±ããããç¹å®ã®ããã€ã¹æ©èœã«ã¢ã¯ã»ã¹ããããããªã©ãããæ©å¯æ§ã®é«ãæäœã«å¯ŸããŠããã³ããã衚瀺ããããšããããŸãã
- ã¯ãã¹ãªãªãžã³å¶éïŒ åäžãªãªãžã³ããªã·ãŒïŒSOPïŒã¯ããããªãªãžã³ããèªã¿èŸŒãŸããã¹ã¯ãªãããå¥ã®ãªãªãžã³ã®ãªãœãŒã¹ãšå¯Ÿè©±ããã®ãé²ãåºæ¬çãªã»ãã¥ãªãã£ã¡ã«ããºã ã§ããããã¯DOMæäœããããã¯ãŒã¯ãªã¯ãšã¹ããããã³ã¹ãã¬ãŒãžã¢ã¯ã»ã¹ã«é©çšãããŸããããã¯ãããŒã¿ãã©ãããã¢ã¯ã»ã¹ã§ããããå¶åŸ¡ããéèŠãªåŽé¢ã§ããã鿥çã«ã¹ãã¬ãŒãžã®æš©éã«åœ±é¿ãäžããŸãã
åºæ¬çãªæš©éãè¶ ããã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡
çŽæ¥çãªãã¡ã€ã«ã·ã¹ãã æš©éã¯å¶éãããŠããŸãããããã³ããšã³ãã§ã®å¹æçãªã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ã«ã¯ããã€ãã®æŠç¥ãå«ãŸããŸãïŒ
1. ãŠãŒã¶ãŒæäŸããŒã¿ã®å®å šãªåãæ±ãïŒFile APIïŒ
ãŠãŒã¶ãŒããã¡ã€ã«ãã¢ããããŒããããšãã¢ããªã±ãŒã·ã§ã³ã¯Fileãªããžã§ã¯ããåãåããŸããéçºè
ã¯ãã®ããŒã¿ãæ
éã«æ±ãå¿
èŠããããŸãïŒ
- ãµãã¿ã€ãºïŒ ãŠãŒã¶ãŒãã¢ããããŒãããã³ã³ãã³ãïŒäŸïŒç»åãããã¥ã¡ã³ãïŒãåŠçããå Žåã¯ãã€ã³ãžã§ã¯ã·ã§ã³æ»æãæªæã®ããã³ãŒãã®å®è¡ãé²ãããã«ãå¿ ããµãŒããŒãµã€ãã§ãµãã¿ã€ãºããŠãã ããã
- æ€èšŒïŒ ãã¡ã€ã«ã®çš®é¡ããµã€ãºãå å®¹ãæ€èšŒããŠãã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ãšã»ãã¥ãªãã£åºæºãæºãããŠããããšã確èªããŠãã ããã
- å®å šãªä¿ç®¡ïŒ ã¢ããããŒãããããã¡ã€ã«ãä¿åããå Žåã¯ã絶察ã«å¿ èŠãªå Žåãé€ããã¯ã©ã€ã¢ã³ããµã€ãã®ã¹ãã¬ãŒãžããçŽæ¥å ¬éããã®ã§ã¯ãªãã峿 Œãªç®¡çã®ããšã§ãµãŒããŒäžã§å®å šã«è¡ã£ãŠãã ããã
2. ããŒã«ã«ã¹ãã¬ãŒãžãšIndexedDBã«ãããæ©å¯ããŒã¿ã®ç®¡ç
Web StorageãIndexedDBãä»ããŠä¿åãããããŒã¿ã¯ãªãªãžã³ã«æçžãããŠããŸãããããã§ãã¯ã©ã€ã¢ã³ããµã€ãã«ä¿åãããŠãããåããªãªãžã³ããã®ã©ã®ã¹ã¯ãªããããã§ãã¢ã¯ã»ã¹ã§ããŸãã以äžã®ç¹ãèæ ®ããŠãã ããïŒ
- éåžžã«æ©å¯æ§ã®é«ãããŒã¿ã®ä¿åãé¿ããïŒ ãã¹ã¯ãŒããç§å¯éµããŸãã¯éåžžã«æ©å¯æ§ã®é«ãPIIïŒå人ãç¹å®ã§ããæ å ±ïŒãããŒã«ã«ã¹ãã¬ãŒãžãã»ãã·ã§ã³ã¹ãã¬ãŒãžã«çŽæ¥ä¿åããªãã§ãã ããã
- æå·åïŒ ã¯ã©ã€ã¢ã³ããµã€ãã§ä¿åããå¿ èŠãããæ©å¯ããŒã¿ïŒäŸïŒããçšåºŠã®ããŒãœãã©ã€ãºãå¿ èŠãªãŠãŒã¶ãŒèšå®ïŒã«ã€ããŠã¯ãä¿åããåã«æå·åããããšãæ€èšããŠãã ããããã ããæå·åããŒèªäœãå®å šã«ç®¡çããå¿ èŠããããããã¯ããã³ããšã³ãã§ã¯èª²é¡ã§ããå€ãã®å ŽåããµãŒããŒãµã€ãã®æå·åãããå ç¢ãªãœãªã¥ãŒã·ã§ã³ã§ãã
- ã»ãã·ã§ã³ããŒã¹ã®ã¹ãã¬ãŒãžïŒ ãŠãŒã¶ãŒã»ãã·ã§ã³ã®æéäžã®ã¿å¿ èŠãªããŒã¿ã«ã€ããŠã¯ããã©ãŠã¶ã®ã¿ã/ãŠã£ã³ããŠãéãããšã¯ãªã¢ããããããããŒã«ã«ã¹ãã¬ãŒãžãããã»ãã·ã§ã³ã¹ãã¬ãŒãžãæãŸããã§ãã
- æ§é åããŒã¿ã®ããã®IndexedDBïŒ ããå€§èŠæš¡ã§æ§é åãããããŒã¿ã»ããã«ã¯ãIndexedDBãããé©ããŠããŸããã¢ã¯ã»ã¹å¶åŸ¡ã¯ãªãªãžã³ã«æçžããããŸãŸã§ãã
3. ããã°ã¬ãã·ããŠã§ãã¢ããªïŒPWAïŒã®ã¹ãã¬ãŒãžã«é¢ããèæ ®äºé
PWAã¯ãªãã©ã€ã³æ©èœã®ããã«ã¯ã©ã€ã¢ã³ããµã€ãã¹ãã¬ãŒãžã«å€§ããäŸåããããšããããããŸããããã«ã¯ãService Workerãä»ããã¢ã»ããã®ãã£ãã·ã³ã°ããIndexedDBãžã®ã¢ããªã±ãŒã·ã§ã³ããŒã¿ã®ä¿åãå«ãŸããŸãã
- ããŒã¿ã®åé¢ïŒ Service Workerã«ãã£ãŠãã£ãã·ã¥ãããããŒã¿ã¯ãäžè¬çã«ãã®PWAã®ãªãªãžã³ã«åé¢ãããŸãã
- ãã£ãã·ã¥ã«å¯ŸãããŠãŒã¶ãŒå¶åŸ¡ïŒ ãŠãŒã¶ãŒã¯éåžžããã©ãŠã¶ã®ãã£ãã·ã¥ãã¯ãªã¢ã§ããããã«ããPWAã®ã¢ã»ãããåé€ãããŸããPWAã¯ããããé©åã«åŠçã§ããããã«èšèšããå¿ èŠããããŸãã
- ãã©ã€ãã·ãŒããªã·ãŒïŒ ã¢ããªã±ãŒã·ã§ã³ã®ãã©ã€ãã·ãŒããªã·ãŒã§ãã©ã®ããŒã¿ãããŒã«ã«ã«ä¿åãããŠãããããã®çç±ããŠãŒã¶ãŒã«æç¢ºã«äŒããŠãã ããã
4. ã¢ã¯ã»ã¹å¶åŸ¡ã®ããã®ææ°ãã©ãŠã¶APIã®æŽ»çš
Webãã©ãããã©ãŒã ã¯ããããã现ããå¶åŸ¡ãšããè¯ããŠãŒã¶ãŒåæã¡ã«ããºã ãæäŸããAPIã§é²åããŠããŸãïŒ
- File System Access APIïŒãªãªãžã³ãã©ã€ã¢ã«ïŒïŒ ããã¯ãWebã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã®ããŒã«ã«ãã¡ã€ã«ã·ã¹ãã äžã®ãã¡ã€ã«ããã£ã¬ã¯ããªãèªã¿æžãã管çããæš©éãèŠæ±ã§ãã匷åãªæ°ããAPIã§ããå€ãFile APIãšã¯ç°ãªããæç€ºçãªãŠãŒã¶ãŒã®åæãåŸãŠãããæ°žç¶çãªã¢ã¯ã»ã¹ãèš±å¯ã§ããŸãã
- ãŠãŒã¶ãŒã®åæãéµïŒ ãã®APIã¯ããã©ãŠã¶ãã€ãã£ãã®ãã€ã¢ãã°ãéããŠæç€ºçãªãŠãŒã¶ãŒã®èš±å¯ãå¿ èŠãšããŸãããŠãŒã¶ãŒã¯ç¹å®ã®ãã¡ã€ã«ããã£ã¬ã¯ããªãžã®ã¢ã¯ã»ã¹ãèš±å¯ã§ããŸãã
- ã»ãã¥ãªãã£ïŒ ã¢ã¯ã»ã¹ã¯ãã¡ã€ã«ã·ã¹ãã å šäœã§ã¯ãªãããã¡ã€ã«ããšãŸãã¯ãã£ã¬ã¯ããªããšã«èš±å¯ãããŸãããŠãŒã¶ãŒã¯ãã€ã§ããããã®æš©éãåãæ¶ãããšãã§ããŸãã
- ãŠãŒã¹ã±ãŒã¹ïŒ ã³ãŒããšãã£ã¿ãç»åæäœããŒã«ãçç£æ§åäžã¹ã€ãŒããªã©ãããæ·±ããã¡ã€ã«ã·ã¹ãã çµ±åãå¿ èŠãšããé«åºŠãªWebã¢ããªã±ãŒã·ã§ã³ã«æé©ã§ãã
- ã°ããŒãã«ãªæ¡çšïŒ ãã®APIãæçããããåºç¯ãªãã©ãŠã¶ãµããŒããåŸãã«ã€ããŠãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã察象ãšããã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ãæ©èœãå€§å¹ ã«åŒ·åãããŠãŒã¶ãŒå¶åŸ¡ãç¶æããªãããããæŽç·ŽãããããŒã«ã«ããŒã¿ç®¡çãå¯èœã«ããŸãã
- Permissions APIïŒ ãã®APIã䜿çšãããšãWebã¢ããªã±ãŒã·ã§ã³ã¯ããŸããŸãªãã©ãŠã¶æš©éïŒäŸïŒäœçœ®æ å ±ãã«ã¡ã©ããã€ã¯ïŒã®ç¶æ ãç §äŒãããŠãŒã¶ãŒã«èŠæ±ããããšãã§ããŸãããã¡ã€ã«ã·ã¹ãã ãžã®çŽæ¥çãªã¢ã¯ã»ã¹çšã§ã¯ãããŸãããããã©ãŠã¶ãããæç€ºçã§ãŠãŒã¶ãŒäž»å°ã®æš©éã¢ãã«ã«åãã£ãŠããããšãåæ ããŠããŸãã
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®ãã¹ããã©ã¯ãã£ã¹
倿§ã§ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«äœ¿çšãããã¢ããªã±ãŒã·ã§ã³ãéçºããå Žåãããã³ããšã³ãã¹ãã¬ãŒãžãšã¢ã¯ã»ã¹å¶åŸ¡ã«é¢ããŠä»¥äžã®ãã¹ããã©ã¯ãã£ã¹ãéµå®ããŠãã ããïŒ
1. ãŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãšåæãåªå ãã
ããã¯ãç¹ã«é²åããã°ããŒãã«ãªããŒã¿ãã©ã€ãã·ãŒèŠå¶ïŒäŸïŒGDPRãCCPAïŒã«ãããŠã亀æžã®äœå°ããããŸããã
- éææ§ïŒ ã©ã®ããŒã¿ãããŒã«ã«ã«ä¿åãããŠãããããã®çç±ããããŠãããã©ã®ããã«ä¿è·ãããŠãããããŠãŒã¶ãŒã«æç¢ºã«äŒããŠãã ããã
- æç€ºçãªåæïŒ å¯èœãªéãã倧éã®ããŒã¿ãä¿åããããã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããããåã«ããŠãŒã¶ãŒããæç€ºçãªåæãåŸãŠãã ãããæç¢ºã§çè§£ããããèšèã䜿çšããŠãã ããã
- ç°¡åãªãªããã¢ãŠãïŒ ãŠãŒã¶ãŒãæš©éã管çãŸãã¯åãæ¶ããããããŒã«ã«ããŒã¿ãåé€ãããããããã®æç¢ºãªã¡ã«ããºã ãæäŸããŠãã ããã
2. å°åããšã®ããŒã¿èŠå¶ãçè§£ãã
ããŒã¿ã¹ãã¬ãŒãžãšåŠçã«é¢ããèŠå¶ã¯ãåœãå°åã«ãã£ãŠå€§ããç°ãªããŸããããã³ããšã³ãã¹ãã¬ãŒãžã¯éåžžãªãªãžã³ã«ãã£ãŠå¶éãããŸãããããŒã¿åŠçã®ååã¯æ®éçã§ãã
- ããŒã¿æå°åïŒ ã¢ããªã±ãŒã·ã§ã³ã®æ©èœã«çµ¶å¯Ÿã«å¿ èŠãªããŒã¿ã®ã¿ãä¿åããŠãã ããã
- ããŒã¿ã®å ŽæïŒ äžéšã®èŠå¶ã§ã¯ãŠãŒã¶ãŒããŒã¿ãã©ãã«ä¿åã§ããããèŠå®ãããŠããå Žåãããããšã«çæããŠãã ããããã ããããã¯äžè¬çã«ãµãŒããŒãµã€ãã®ããŒã¿ã«é¢ããæžå¿µäºé ã§ãã
- ã³ã³ãã©ã€ã¢ã³ã¹ïŒ ã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿åŠçæ £è¡ããã¿ãŒã²ããåžå Žã®é¢é£èŠå¶ã«æºæ ããŠããããšã確èªããŠãã ããã
3. èšè𿮵éããã»ãã¥ãªãã£ãèæ ®ãã
ã»ãã¥ãªãã£ã¯åŸä»ãã§ãã£ãŠã¯ãªããŸããã
- ã¯ã©ã€ã¢ã³ããµã€ãã®ããŒã¿ã決ããŠä¿¡çšããªãïŒ ã¯ã©ã€ã¢ã³ãããåãåã£ãããŒã¿ïŒããŒã«ã«ã¹ãã¬ãŒãžããã¡ã€ã«ããèªã¿åã£ãããŒã¿ãå«ãïŒã¯ãåŠçãŸãã¯æ°žç¶çã«ä¿åããåã«ãå¿ ããµãŒããŒãµã€ãã§æ€èšŒããã³ãµãã¿ã€ãºããŠãã ããã
- å®å šãªéä¿¡ïŒ ãã¹ãŠã®éä¿¡ã«HTTPSã䜿çšããŠã転éäžã®ããŒã¿ãæå·åããŠãã ããã
- 宿çãªç£æ»ïŒ ããã³ããšã³ãã³ãŒããšã¹ãã¬ãŒãžã¡ã«ããºã ã®ã»ãã¥ãªãã£ç£æ»ã宿çã«å®æœããŠãã ããã
4. ã°ã¬ã€ã¹ãã«ãã°ã©ããŒã·ã§ã³ãšãã©ãŒã«ããã¯ãå®è£ ãã
ãã¹ãŠã®ãŠãŒã¶ãŒãææ°ã®ãã©ãŠã¶ãæå¹ãªæš©éãæã£ãŠããããã§ã¯ãããŸããã
- ããã°ã¬ãã·ããšã³ãã³ã¹ã¡ã³ãïŒ é«åºŠãªæ©èœããªããŠãåäœããã³ã¢æ©èœãæ§ç¯ãããã®åŸãå©çšå¯èœã§èš±å¯ãããŠããå Žåã«ããŒã«ã«ã¹ãã¬ãŒãžããã¡ã€ã«ã¢ã¯ã»ã¹ã掻çšãã匷åãããæ©èœãéããŠãã ããã
- ãšã©ãŒãã³ããªã³ã°ïŒ ã¹ãã¬ãŒãžæäœã®ããã®å ç¢ãªãšã©ãŒãã³ããªã³ã°ãå®è£ ããŠãã ããããŠãŒã¶ãŒãæš©éãæåŠããããã¹ãã¬ãŒãžå¶éã«éãããããå Žåã§ããã¢ããªã±ãŒã·ã§ã³ã¯æ©èœãäœäžãããããããŸããããæ©èœãç¶ããã¹ãã§ãã
5. ææ°APIãè³¢æã«æŽ»çšãã
File System Access APIã®ãããªAPIãæ®åããã«ã€ããŠãããŒã«ã«ããŒã¿ã管çããããã®åŒ·åãªæ°ããæ¹æ³ãæäŸãããŸãããããããã®æ¡çšã¯äžççã«ç°ãªãå¯èœæ§ããããŸãã
- æ©èœæ€åºïŒ APIã䜿çšããããšããåã«ããããå©çšå¯èœãã©ããã確èªããããã«æ©èœæ€åºã䜿çšããŠãã ããã
- ãã©ãŠã¶ã®ãµããŒããèæ ®ããïŒ ã¢ããªã±ãŒã·ã§ã³ãã¿ãŒã²ãããšããããŸããŸãªãã©ãããã©ãŒã ãå°åã§ã®ãã©ãŠã¶ãµããŒãã調æ»ããŠãã ããã
- ãŠãŒã¶ãŒäœéšïŒ æš©éãªã¯ãšã¹ããã§ããã ãéªéã«ãªãããæçãªãã®ã«ãªãããã«èšèšããŠãã ããã
é¿ããã¹ãäžè¬çãªèœãšã穎
çµéšè±å¯ãªéçºè ã§ãããäžè¬çãªçœ ã«é¥ãããšããããŸãïŒ
- å®å šãªãã¡ã€ã«ã·ã¹ãã ã¢ã¯ã»ã¹ãæ³å®ããïŒ æãäžè¬çãªééãã¯ãããã³ããšã³ãã®JavaScriptããŠãŒã¶ãŒã®ãã¡ã€ã«ã·ã¹ãã ã«åºç¯ãªã¢ã¯ã»ã¹æš©ãæã£ãŠãããšä¿¡ããããšã§ããããã¯ãããŸããã
- æ©å¯ããŒã¿ãæå·åããã«ä¿åããïŒ ãã¹ã¯ãŒããè²¡åæ å ±ãããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åããã®ã¯ãé倧ãªã»ãã¥ãªãã£ãªã¹ã¯ã§ãã
- ã¯ãã¹ãªãªãžã³å¶éãç¡èŠããïŒ SOPãçè§£ããŠããªããšãèšå®ãã¹ãã»ãã¥ãªãã£ã®è匱æ§ã«ã€ãªããå¯èœæ§ããããŸãã
- éææ§ã®æ¬ åŠïŒ ããŒã¿ã¹ãã¬ãŒãžã®æ £è¡ã«ã€ããŠãŠãŒã¶ãŒã«ç¥ãããªãããšã¯ãä¿¡é ŒãæãªããŸãã
- ã¯ã©ã€ã¢ã³ããµã€ãã®æ€èšŒã«é床ã«äŸåããïŒ ã¯ã©ã€ã¢ã³ããµã€ãã®æ€èšŒã¯UXã®ããããµãŒããŒãµã€ãã®æ€èšŒã¯ã»ãã¥ãªãã£ã®ããã§ãã
çµè«
ããã³ããšã³ãã®ãã¡ã€ã«ã·ã¹ãã æš©éãšã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ã¯ããŠãŒã¶ãŒã®ããŒããã©ã€ããžã®çŽæ¥çã§ç¡å¶éã®ã¢ã¯ã»ã¹ãèš±å¯ããããšã§ã¯ãããŸãããããã§ã¯ãªããWebã¢ããªã±ãŒã·ã§ã³ãããŒã«ã«ã«ä¿åãããããŒã¿ããŠãŒã¶ãŒæäŸã®ãã¡ã€ã«ãšå¯Ÿè©±ã§ããå¢çç·ãå®çŸ©ããããšã§ãããã©ãŠã¶ã¯å³æ Œãªä¿è·è ãšããŠæ©èœãããããªãã¢ã¯ã»ã¹ãæç€ºçãªãŠãŒã¶ãŒã®åæãå¿ èŠãšããå®å šãªãµã³ãããã¯ã¹åãããç°å¢å ã§åäœããããšãä¿èšŒããŸãã
ã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããéçºè ã«ãšã£ãŠãWeb StorageãIndexedDBãFile APIããããŠFile System Access APIã®ãããªæ°ããæ©èœã«ã€ããŠã®æ·±ãçè§£ã¯äžå¯æ¬ ã§ãããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãåªå ããå®å šãªããŒã¿åŠçã®ãã¹ããã©ã¯ãã£ã¹ãéµå®ããé²åããèŠå¶ããã©ãŠã¶æè¡ã«ã€ããŠåžžã«æ å ±ãåŸãããšã§ããŠãŒã¶ãŒã®èªäž»æ§ãšããŒã¿ä¿è·ãå°éãããå ç¢ã§å®å šããã€ãŠãŒã¶ãŒãã¬ã³ããªãŒãªWebäœéšãããŠãŒã¶ãŒã®å Žæãèæ¯ã«é¢ãããæ§ç¯ããããšãã§ããŸãã
ãããã®ååãç¿åŸããããšã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ©èœãåäžãããã ãã§ãªããã°ããŒãã«ãªãŠãŒã¶ãŒããŒã¹ãšã®éã«äžå¯æ¬ ãªä¿¡é Œãç¯ãããšã«ãã€ãªãããŸããæŽç·Žãããããã³ããšã³ãã€ã³ã¿ã©ã¯ã·ã§ã³ã®æªæ¥ã¯ãã¹ãã¬ãŒãžã¢ã¯ã»ã¹å¶åŸ¡ã«å¯Ÿããå®å šã§éææ§ã®ããã¢ãããŒãã«ããã£ãŠããŸãã